home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Format CD 22
/
Amiga Format AFCD22 (Jan 1998, Issue 106).iso
/
-seriously_amiga-
/
shareware
/
workbench
/
-dopus-
/
empdopus
/
dopusarexx
/
assign.rexx
next >
Wrap
OS/2 REXX Batch file
|
1997-11-05
|
5KB
|
208 lines
/*$VER: Assign.rexx 1.1 (18.10.97) B00ze
* For questions or comments email Booze@Videotron.CA
* Compressed by CrunchRexx v1.1
*/
PN='Assign.rexx'
SH=0;WIN=0;LF='0A'x
Options results
Signal ON SYNTAX
Signal ON BREAK_C
Signal ON FAILURE
Parse ARG P SH A .
Address VALUE P
A=Upper(A)
Options failat 21
If ~Show('L',"rexxreqtools.library") Then CALL AddLib('rexxreqtools.library',0,-30,0)
If ~GSL() Then Call ReqERR('No Source Lister To Work With!')
LP=GLP(SH)
Call Pragma('D',LP)
LP=Pragma('D')
DL.=0
'Lister Query' SH 'Seldirs Stem DL.'
If DL.count=0 Then NL.0=LP
Else Do
If Right(LP,1)~=':'&Right(LP,1)~='/' Then LP=LP'/'
DL.count=DL.count-1
Do x=0 to DL.count
NL.x=LP||DL.x
End
End
'Lister Set' SH 'Busy 1'
Do x=0 to DL.count
If Show('L',"rexxreqtools.library") Then Do
Typ=ReqSTR(':','Enter Name To Assign To:'LF||NL.x,'Ok|_Add|_Path|_Defer|_Remove|_Skip|_Cancel',A)
Nam=Strip(RTStr)
End
Else Do
If A="NW" Then RCMD='Dopus GetString'
Else RCMD='Lister GetString 'SH
RCMD' "Enter Name To Assign To:'LF||NL.x'" 32 ":" Ok|Cancel'
If RESULT=""|RESULT="RESULT" Then Do
Nam=":"
Typ=1
End
Else Do
Nam=Strip(RESULT)
If A="NW" Then RCMD='Dopus Request'
Else RCMD='Lister Request 'SH
RCMD' "Assign Type?" Ok|Add|Path|Defer|Remove|Skip|Cancel'
Typ=RC
End
End
If Typ~=6 Then Do
Select
When Typ=1 Then Typ=""
When Typ=2 Then Typ=" ADD"
When Typ=3 Then Typ=" PATH"
When Typ=4 Then Typ=" DEFER"
When Typ=5 Then Typ=" REMOVE"
When Typ=0 Then Do
'Lister Set' SH 'Busy 0'
Exit 0
End
End
Nam=Strip(Compress(Nam,'":/'))
If Nam~="" Then Do
If Length(Nam)>30 Then Nam=Left(Nam,30)
Address COMMAND 'C:Assign >NIL: "'Nam':" "'NL.x'"'Typ
If RC~=0 Then Call ReqEZ('+++ Assign Failed +++',' _OK ')
End
End
If DL.count~=0 Then Do
'Lister Select' SH '"'DL.x'"' '0'
'Lister Refresh' SH
End
End
'Lister Set' SH 'Busy 0'
Exit 0
GSL: PROCEDURE EXPOSE P LF PN SH WIN
If Datatype(SH)~="NUM" Then Call ReqERR('UnInitialized SH/SourceHandle!')
If SH=0 Then Do
Parse UPPER ARG STyp
If STyp~="D"|STyp~="A" Then STyp="S"
SL.=0
'Lister Query Source Stem SL.'
If SL.count=0 Then If STyp="S" Then Return(0)
Else Do
'Lister Query Dest Stem SL.'
If SL.count=0 Then If STyp="D" Then Return(0)
Else Do
'Lister Query ALL Stem SL.'
If SL.count=0 Then Return(0)
End
End
SH=SL.0
End
'Lister Set' SH 'Source'
'Lister Query' SH 'Window'
If RESULT~=0&Datatype(RESULT)='NUM' Then WIN=RESULT
Else WIN=0
Return(1)
GLP: PROCEDURE EXPOSE P LF PN SH WIN
Parse ARG LH
'Lister Query' LH 'PATH'
If RESULT=""|RESULT="RESULT" Then Call ReqERR('Unable To Obtain Lister PATH!')
Else Do
LP=RESULT
If Right(LP,1)~=':'&Right(LP,1)~='/' Then LP=LP'/'
End
Return(LP)
ReqEZ: PROCEDURE EXPOSE P LF PN SH WIN
Parse ARG TXT,GADGETS,A
A=Upper(A)
If ~Show('L',"rexxreqtools.library") Then CALL AddLib('rexxreqtools.library',0,-30,0)
If ~Show('L',"rexxreqtools.library") Then Do
GADGETS=Compress(GADGETS,'_')
If SH=0|Datatype(SH)~="NUM"|A="NW" Then RCMD='Dopus Request'
Else RCMD='Lister Request 'SH
RCMD' "'TXT'" 'GADGETS
Choice=RC
End
Else Do
If WIN=0|Datatype(WIN)~="NUM"|A="NW" Then Do
'Dopus Screen'
Parse VAR RESULT S .
RTAG='RT_PubScrName='S' rt_reqpos=reqpos_centerscr'
End
Else RTAG='RT_Window='WIN' rt_reqpos=reqpos_centerwin'
Choice=rtEZRequest(TXT,GADGETS,PN,RTAG' rtez_flags=ezreqf_centertext')
End
Return Choice
ReqERR: PROCEDURE EXPOSE P LF PN SH WIN
Parse ARG TXT,A
A=Upper(A)
'Command Flash'
If ~Show('L',"rexxreqtools.library") Then CALL AddLib('rexxreqtools.library',0,-30,0)
If ~Show('L',"rexxreqtools.library") Then Do
If SH=0|Datatype(SH)~="NUM"|A="NW" Then RCMD='Dopus Request'
Else RCMD='Lister Request 'SH
RCMD' "+++ 'PN' Error +++'LF||TXT'" OK'
End
Else Do
If WIN=0|Datatype(WIN)~="NUM"|A="NW" Then Do
'Dopus Screen'
Parse VAR RESULT S .
RTAG='RT_PubScrName='S' rt_reqpos=reqpos_centerscr'
End
Else RTAG='RT_Window='WIN' rt_reqpos=reqpos_centerwin'
CALL rtEZRequest('+++ 'PN' Error +++'LF||TXT,,PN,RTAG' rtez_flags=ezreqf_centertext rt_idcmpflags=idcmp_vanillakey')
End
If SH~=0 Then Do
'Lister Set' SH 'Busy 0'
'Lister Set' SH 'Title'
'Lister Refresh' SH 'FULL'
End
Exit 20
ReqSTR: PROCEDURE EXPOSE P LF PN SH WIN RTStr
Parse ARG DEF,TXT,GADGETS,A
A=Upper(A)
If ~Show('L',"rexxreqtools.library") Then CALL AddLib('rexxreqtools.library',0,-30,0)
If ~Show('L',"rexxreqtools.library") Then CALL ReqERR('ReqSTR Does NOT work W/O RexxReqTools!')
Else Do
If WIN=0|Datatype(WIN)~="NUM"|A="NW" Then Do
'Dopus Screen'
Parse VAR RESULT S .
RTAG='RT_PubScrName='S' rt_reqpos=reqpos_centerscr'
End
Else RTAG='RT_Window='WIN' rt_reqpos=reqpos_centerwin'
RTStr=rtGetString(DEF,TXT,PN,GADGETS,RTAG' rt_waitpointer=true rtgs_flags=gsreqf_centertext',RTGad)
End
Return RTGad
BREAK_C:
Address VALUE P
If SH~=0 Then Do
'Lister Set' SH 'Busy 0'
'Lister Set' SH 'Title'
'Lister Refresh' SH 'FULL'
RCMD='Lister Request 'SH
End
Else RCMD='Dopus Request'
'Command Flash'
RCMD' "+++ Break! +++" OK'
Exit 0
SYNTAX:
RCX=RC
Address VALUE P
If SH~=0 Then Do
'Lister Set' SH 'Busy 0'
'Lister Set' SH 'Title'
'Lister Refresh' SH 'FULL'
RCMD='Lister Request 'SH
End
Else RCMD='Dopus Request'
'Command Flash'
RCMD' "+++ Syntax Error +++'LF'('RCX') at line 'SIGL||LF||errortext(RCX)'" OK'
Exit 20
FAILURE:
Address VALUE P
If SH~=0 Then Do
'Lister Set' SH 'Busy 0'
'Lister Set' SH 'Title'
'Lister Refresh' SH 'FULL'
RCMD='Lister Request 'SH
End
Else RCMD='Dopus Request'
'Command Flash'
RCMD' "+++ Failure +++'LF'Something failed at line 'SIGL'" OK'
Exit 20